package dao;

import java.util.Vector;
import entidades.VentaInmueble;

/**
 * Clase de la capa de Persistencia, encargada de recuperar, guardar
 * y actualizar Ventas de la base de datos.
 */
public class DAOVentaInmueble extends DAO {

    /**
     * Retorna el vector de objetos ReservaInmueble cargadas en la base de datos.
     * 
     * @return Vector   Listado de todas las ventas realizadas
     */
    public static Vector<VentaInmueble> getAll() {
        return getAll("Venta_Inmueble");
    }
    
    /**
     * Obtiene las ventas que se le realizaron a un determinado cliente
     * @param idCliente int     ID del Cliente
     * @return          Vector  Listado de ventas
     */
    public static Vector<VentaInmueble> getByIdCliente(int idCliente) {
        return getAll("VentaInmueble where cliente.idCliente = "+idCliente);
    }

    /**
     * Obtiene las ventas que se le realizaron a un mismo inmueble
     * @param idInmueble    int     ID del Inmueble
     * @return              Vector  Listado de ventas
     */
    public static Vector<VentaInmueble> getByIdInmueble(int idInmueble) {
        return getAll("VentaInmueble where inmueble.idInmueble = "+idInmueble);
    }

    /**
     * Persiste (inserta o actualiza) una venta
     * @param v VentaInmueble   Venta que se desea persistir
     * @return  boolean         True si es exitoso, false en caso contrario
     */
    public static boolean insertOrUpdate(VentaInmueble v) {
        return guardarOActualizarObjeto(v);
    }

    /**
     * Borra (elimina) una venta de un inmueble
     * 
     * @param v VentaInmueble   Venta que se desea eliminar
     *  
     * @return  boolean         True si fue exitoso, false en caso contrario
     */
    public static boolean delete(VentaInmueble v) {
        
        return eliminarObjeto(v);
    }

    
}
